HA_CandlesLibrary "HA_Candles"
Heikin Ashi Candles
HA_Close() Heikin Ashi Modified Close
Returns: Heikin Ashi Modified Close
HA_Open() Heikin Ashi Modified Open
Returns: Heikin Ashi Modified Open
HA_High() Heikin Ashi Modified High
Returns: Heikin Ashi Modified High
HA_Low() Heikin Ashi Modified Low
Returns: Heikin Ashi Modified Low
HA_Delta(Heikin) Heikin Ashi Delta
Parameters:
Heikin : Ashi Close, Heikin Ashi Open
Returns: Heikin Ashi Delta
Cari dalam skrip untuk "Heikin Ashi"
Inverse Fisher Transform COMBO XThis is a vastly improved version of the indicator "Inverse Fisher Transform COMBO STO+RSI+CCIv2" by KIVANÇ fr3762 and updated previously by lordofcodes.
This script includes all the original oscillators included in the original script including CCI, CCIv2, MFI, RSI, Stochastic, and SMI oscillators. In Inverse Fisher Transform, one looks for the indicator lines of your choosing to be either above or below the centerline as with all oscillators. In addition it has many new features that greatly enhance the variety of uses for this very helpful indicator.
-Updated the script to indicator in pinescript v6.
-An Inverse Fisher Transform of the Heikin Ashi Calculation has been included in the script, with
both a raw Heikin Ashi signal output as well as a smoothed Heikin Ashi calculation are included.
-In addition, bar coloring according to the raw Heikin Ashi calculation is included in order to
allow for a standard bar chart to also give the visual indication of the Heikin Ashi chart type
This allows the trader to maintain the accuracy of price information on the chart that standard candles provide while still being able to reference the smoothed trend calculation of Heikin Ashi candles.
-Updated the script to add smoothing method and length inputs for each indicator.
-Smoothing methods available include the original wma smoothing, as well as sma, ema, dema,
tema, rma, hma, vwma, and t3 moving average calculations.
-Now you can also select the method for calculating the Inverse Fisher Transform using either
the default method of whether the oscillator is above or below the centerline, or to be based
on the oscillator's position in relation to a signal line instead, which can potentially give more
timely and accurate signals.
-The signal line's length and moving average calculation method are also adjustable according to
the same variety as the oscillators themselves. For simplicity the same signal line calculation
will be applied to all oscillators except for the Heikin Ashi since Heikin Ashi is not an oscillator.
In general, a low smoothing input works best for a slower moving average types such as rma and t3 which are my personal preference, while a larger number works better for the faster moving average calculations such as wma, hma, ema, dema, or tema. Though in practice, the combination of different smoothing methods and lengths across the variety of included indicators are greatly variable and can offer a complete trading strategy including long and short term trend analysis as well as volume analysis and Heikin Ashi candle analysis with just this one indicator.
As always, one indicator never guarantees results, which is a problem this script seeks to address, but it still benefits one to look for confirmation from other indicators and methods.
I hope you are able to find this indicator an effect addition to your trading strategy.
HA Reversal StrategyCertainly! Here's a detailed **description (elaboration)** for the **"HA Candle Test"** (i.e., the Heikin Ashi strategy script I just gave you):
---
### 📌 **Script Name**: HA Candle Test
### 📖 **Description**:
This script visualizes **Heikin Ashi candles** and identifies **trend reversal signals** using classic momentum candle behavior — particularly the appearance of **no-wick candles**, which are known to reflect strong directional pressure in Heikin Ashi charts.
It aims to **capture high-probability trend reversals** with minimal noise, relying on the natural smoothing behavior of Heikin Ashi candles.
---
### ✅ **Buy Signal Conditions**:
* At least **two consecutive red Heikin Ashi candles** (indicating a short-term downtrend).
* Followed by a **green Heikin Ashi candle** that has **no lower wick** (i.e., open == low).
* This suggests that **buyers have taken full control**, with no push from sellers — a potential start of an uptrend.
📍 **Interpreted as**: “Market was selling off, but now buyers stepped in strongly — time to consider buying.”
---
### ✅ **Sell Signal Conditions**:
* At least **two consecutive green Heikin Ashi candles** (short-term uptrend).
* Followed by a **red Heikin Ashi candle** that has **no upper wick** (i.e., open == high).
* This implies **sellers are dominating**, with no attempt from buyers to push higher — possible start of a downtrend.
📍 **Interpreted as**: “Market was rallying, but sellers just took over decisively — time to consider selling.”
---
### 📊 **Visual Aids Included**:
* Plots **Heikin Ashi candles** on your main chart for clarity.
* Uses **Buy** and **Sell** label markers (green & red) at signal points.
* Compatible with any timeframe — higher timeframes typically yield stronger signals.
---
### 💡 **Suggested Use**:
* Combine with **support/resistance**, **volume**, or **trend filters** for more robust setups.
* Works well on **1H, 4H, and Daily charts** in trending markets.
* Can be used manually or turned into an automated strategy for backtesting or alerts.
---
Would you like this script packaged as a **strategy()** for backtesting, or would you like me to add **alerts** so you can get notified in real-time when signals appear?
CE_ZLSMA_5MIN_CANDLECHART-- Overview
The "CE_ZLSMA_5MIN_CANDLECHART" strategy, developed by DailyPanda, is a comprehensive trading strategy designed for analyzing trading on 5-minute candlestick charts.
It aims to use some indicators calculated from a Hekin Ashi chart, while running it on a normal candlestick chart, making sure that no price distortion affects the strategy results .
It also brings a feature to show, on the candlestick chart, where the entries would take place on the HA chart, to also be able to study the effect that the price distortion would make on your backtest.
-- Credit
The code in this script is based on open-source indicators originally written by veryfid and everget, I've made significant changes and additions to the scripts but all credit for the idea goes to them, I just built on top of it:
-- Key Features
It incorporate already built indicators (ZLSMA) and CandelierExit (CE)
-- Zero Lag Least Squares Moving Average (ZLSMA) - by veryfid
The ZLSMA is used to detect trends with minimal lag, improving the accuracy of entry and exit signals.
It incorporates a double-smoothed linear regression to minimize lag and enhance trend-following capabilities.
Buy signals are generated when the price closes above the ZLSMA together with the CE signal.
It is calculated based on the HA candlestick pattern.
-- Chandelier Exit (CE) - by everget
The Chandelier Exit indicator is used to dynamically manage stop-loss levels based on the Average True Range (ATR).
It ensures that stop-loss levels are adaptive to market volatility, protecting profits and limiting losses.
The ATR period and multiplier can be customized to fit different trading styles and risk tolerances.
It is calculated based on the HA candlestick pattern.
-- Heikin Ashi Candles
The strategy leverages Heikin Ashi candlesticks to be able identify trends more clearly and leverage this to stay on winning trades longer.
Traders can choose to display Heikin Ashi candlesticks and order fills on the chart for better visualization.
-- Risk Management
The strategy includes multiple risk management options to protect traders' capital.
Maximum intraday loss limit based on a percentage of equity.
Maximum stop-loss in points to filter out entries with excessive risk.
Daily profit target to stop trading once the goal is achieved.
Options to use fixed contract sizes or dynamically adjust based on a percentage of equity.
These features help traders manage risk and ensure sustainable trading practices.
Moving Averages
Several moving averages (EMA 9, EMA 20, EMA 50, EMA 72, EMA 200, SMA 200, and SMA 500) are plotted to provide additional context and trend confirmation.
A "Zone of Value" is highlighted between the EMA 200 and SMA 200 to identify potential support and resistance areas.
-- Customizable Inputs
The strategy includes various customizable inputs, allowing traders to tailor it to their specific needs.
Start and stop trading times.
Risk management parameters (e.g., maximum stop-loss, daily drawdown limit, and daily profit target).
Display options for Heikin Ashi candles and moving averages.
ZLSMA length and offset.
-- Usage
-- Setting Up the Strategy
Configure the start year for the strategy and the trading hours using the input fields. The first candle of each day will be filled black for easy identification, while candles that are outside the allowed time range will be filled purple.
Customize the risk management parameters to match your risk tolerance and trading style.
Enable or disable the display of Heikin Ashi candlesticks and moving averages as desired.
-- Interpreting Signals
Buy signals are indicated by a "Buy" label when the Heikin Ashi close price is above the ZLSMA and the Chandelier Exit indicates a long position.
The strategy will automatically enter a long position with a stop-loss level determined the swing low.
Positions are closed when the close price falls below the ZLSMA.
-- Risk Management
The strategy monitors the maximum intraday loss and stops trading if the loss limit is reached.
If enabled, also stops trading once the daily profit target is achieved, helping to lock in gains.
You have the option to filter operations based on a maximum accepted stop-loss level, based on your risk tolerance.
You can also operate with a fixed amount of contracts or dynamically adjust it based on your allowed risk per trade, ensuring optimal protection of capital.
-- Visual Aids
The strategy plots various moving averages to provide additional trend context.
The "Zone of Value" between the EMA 200 and SMA 200 highlights potential support and resistance areas.
Heikin Ashi candlesticks and order fills can be displayed to enhance the difference this strategy would take if you were to backtest it on a Heikin Ashi chart.
-- Table of results
This strategy also breaks down the results on a monthly basis for better understanding of your capital development along the way.
-- Conclusion
The "CE_ZLSMA_5MIN_CANDLECHART" strategy is a tool for intraday traders looking to understand and leaverage the Heikin Ashi chart while still using the normal candle chart. Traders can customize the strategy to fit their specific needs, making it a versatile addition to any trading toolkit.
HK Percentile Interpolation One
This script is designed to execute a trading strategy based on Heikin Ashi candlesticks, moving averages, and percentile levels.
Please note that you should keep your original chart in normal candlestick mode and not switch it to Heikin Ashi mode. The script itself calculates Heikin Ashi values from regular candlesticks. If your chart is already in Heikin Ashi mode, the script would be calculating Heikin Ashi values based on Heikin Ashi values, which would produce incorrect results.
The strategy begins trading from a start date that you can specify by modifying the `startDate` parameter. The format of the date is "YYYY MM DD". So, for example, to start the strategy from January 1, 2022, you would set `startDate = timestamp("2022 01 01")`.
The script uses Heikin Ashi candlesticks, which are plotted in the chart. This approach can be useful for spotting trends and reversals more easily than with regular candlestick charts. This is particularly useful when backtesting in TradingView's "Rewind" mode, as you can see how the Heikin Ashi candles behaved at each step of the strategy.
Buy and sell signals are generated based on two factors:
1. The crossing over or under of the Heikin Ashi close price and the 75th percentile price level.
2. The Heikin Ashi close price being above certain moving averages.
You have the flexibility to adjust several parameters in the script, including:
1. The stop loss and trailing stop percentages (`stopLossPercentage` and `trailStopPercentage`). These parameters allow the strategy to exit trades if the price moves against you by a certain percentage.
2. The lookback period (`lookback`) used to calculate percentile levels. This determines the range of past bars used in the percentile calculation.
3. The lengths of the two moving averages (`yellowLine_length` and `purplLine_length`). These determine how sensitive the moving averages are to recent price changes.
4. The minimum holding period (`holdPeriod`). This sets the minimum number of bars that a trade must be kept open before it can be closed.
Please adjust these parameters according to your trading preferences and risk tolerance. Happy trading!
Heiken Ashi + Ichimoku Kinko Hyo StrategyHeikin-Ashi:
Instead of using the open-high-low-close (OHLC) bars like standard candlestick charts, it uses a modified formula. Out of which only following two are used in this strategy.
High = Max (High,Open,Close)
Low = Min (Low,Open, Close)
Ichimoku Kinko Hyo:
The Ichimoku Kinko Hyo system includes five kinds of signal, of which this strategy uses four signals i.e. Tenkan Sen / Kijun Sen Cross, price crosses the Kijun Sen, Chikou Span and Kumo. Although the Chikou Span, Senkou Span A and Senkou Span B (Kumo) are shifted into the past/future, these trigger signals enhances the strategy.
The Tenkan Sen, also known as the Turning or Conversion line, is a moving average of the highest high and lowest low over the last 9 periods in this strategy.
The Kijun Sen, also known as the Standard or Base line, is a moving average of the highest high and lowest low over the last 24 periods in this strategy.
The Chikou Span, also known as the Lagging line, is the closing price plotted 24 periods behind in this strategy.
The Senkou Span A, also known as the 1st leading line, is a moving average of the Tenkan Sen and Kijun Sen and is plotted 24 periods ahead in this strategy.
The Senkou Span B, also known as the 2nd leading line, is a moving average of the highest high and lowest low over the last 51 trading days is plotted 24 periods ahead in this strategy.
MVO - MA Signal StrategyStrategy Description: MA Signal Strategy with Heikin Ashi, Break-even and Trailing Stop
⸻
🔍 Core Concept
This strategy enters long or short trades based on Heikin Ashi candles crossing above or below a moving average (MA), with optional confirmation from the Money Flow Index (MFI). It includes:
• Dynamic stop loss and take profit levels based on ATR
• Optional break-even stop adjustment
• Optional trailing stop activation after breakeven
• Full visual feedback for trades and zones
⸻
⚙️ Indicators Used
• Heikin Ashi Candles: Smooth price action to reduce noise.
• Simple Moving Average (MA): Determines trend direction.
• Average True Range (ATR): Sets volatility-based SL/TP.
• Money Flow Index (MFI): Optional momentum filter for entries.
⸻
📈 Trade Entry Logic
✅ Long Entry:
Triggered if:
• Heikin Ashi close crosses above the MA
or
• MFI is below 20 and Heikin Ashi close is above the MA
❌ Short Entry:
Triggered if:
• Heikin Ashi close crosses below the MA
or
• MFI is above 90 and Heikin Ashi close is below the MA
⸻
🛑 Stop Loss & Take Profit
• SL is set using riskMult * ATR
• TP is set using rewardMult * ATR
Example:
• If ATR = 10, riskMult = 1, rewardMult = 5
→ SL = 10 points, TP = 50 points from entry
⸻
⚖️ Break-even Logic (Optional)
• If price moves in your favor by breakevenTicks * ATR, SL is moved to entry price.
• Enabled via checkbox Enable Break Even.
⸻
📉 Trailing Stop Logic (Optional)
• Once break-even is hit, a trailing stop starts moving behind price by trailATRmult * ATR.
• Trailing stop only activates after break-even is reached.
• Enabled via checkbox Enable Trailing Stop.
📊 Visual Elements
• Heikin Ashi candles are drawn on the main chart.
• Trade zones are shaded between SL and TP during open trades.
• Lines mark Entry, SL, TP, Break-even trigger.
• Markers show entries and exits:
• Green/red triangles = long/short entries
• ✅ = Take profit hit
• ❌ = Stop loss hit
✅ Best Use Case
• Trending markets with strong pullbacks
• Works on multiple timeframes
• Better suited for assets with consistent volatility (ATR behavior)
Hull Trend and CompareThis Pine Script is a TradingView indicator called "Hull Trend and Compare." Its main purpose is to provide a visual representation of price trends and a comparative analysis between the selected symbol and another symbol chosen for comparison.
The key components and functionalities:
Price Trend Visualization:
1.Mode Selection:
Offers three modes: "Normal," "Linear," and "Heikin-Ashi."
Allows users to choose between a standard chart, linear regression, or Heikin-Ashi candlesticks.
2.Hull Moving Average (HullMA):
Calculates the HullMA for the selected mode and length.
Plots the HullMA on the chart.
Colors the background based on the relationship between HullMA and the closing price.
Generates buy and sell signals when the price crosses over or under the HullMA.
Symbol Comparison:
1.Comparison with Another Symbol:
Allows users to compare the selected symbol with another symbol (specified in the sym input).
Provides options to choose the method of calculation for the compared symbol (open, high, low, close).
Users can choose whether to use a different method of calculation (usem), adjust the length (len), and enable or disable comparison (usecmp).
Table Display:
1.Table for Technical Indicators:
Optionally displays a table showing technical indicators for both symbols.
Includes Stochastic Momentum, RSI (Relative Strength Index), and MACD (Moving Average Convergence Divergence).
Colors the table cells based on the direction of the indicators.
Users can customize the table's position, text size, and visibility (shwtbl).
Technical Indicators:
1.Stochastic Momentum (StochMoM):
Calculates %K and %D using the Stochastic formula.
Displays StochMoM values and colors cells based on bullish or bearish conditions.
2.Relative Strength Index (RSI):
Computes the RSI values and colors cells based on the direction of the trend.
3.MACD (Moving Average Convergence Divergence):
Calculates MACD and Signal line values.
Displays MACD values and colors cells based on bullish or bearish conditions.
Summary:
This script provides traders with a versatile tool for analyzing price trends, comparing symbols, and viewing key technical indicators. The combination of visual elements on the chart and a detailed table enhances the ability to make informed trading decisions.
This script is provided for educational purposes and does not constitute financial advice. Traders and investors should conduct their research and analysis before making any trading decisions.
Heiken Ashi Supertrend ATR-SL StrategyThis indicator combines Heikin Ashi candle pattern analysis with Supertrend to generate high-probability trading signals with built-in risk management. It identifies potential entries and exits based on specific Heikin Ashi candlestick formations while providing automated ATR-based stop loss management.
Trading Logic:
The system generates long signals when a green Heikin Ashi candle forms with no bottom wick (indicating strong bullish momentum). Short signals appear when a red Heikin Ashi candle forms with no top wick (showing strong bearish momentum). The absence of wicks on these candles signals a high-conviction market move in the respective direction.
Exit signals are triggered when:
1. An opposite pattern forms (red candle with no top wick exits longs; green candle with no bottom wick exits shorts)
2. The ATR-based stop loss is hit
3. The break-even stop is activated and then hit
Technical Approach:
- Select Heiken Ashi Canldes on your Trading View chart. Entried are based on HA prices.
- Supertrend and ATR-based stop losses use real price data (not HA values) for trend determination
- ATR-based stop losses automatically adjust to market volatility
- Break-even functionality moves the stop to entry price once price moves a specified ATR multiple in your favor
Risk Management:
- Default starting capital: 1000 units
- Default risk per trade: 10% of equity (customizable in strategy settings)
- Hard Stop Loss: Set ATR multiplier (default: 2.0) for automatic stop placement
- Break Even: Configure ATR threshold (default: 1.0) to activate break-even stops
- Appropriate position sizing relative to equity and stop distance
Customization Options:
- Supertrend Settings:
- Enable/disable Supertrend filtering (trade only in confirmed trend direction)
- Adjust Factor (default: 3.0) to change sensitivity
- Modify ATR Period (default: 10) to adapt to different timeframes
Visual Elements:
- Green triangles for long entries, blue triangles for short entries
- X-marks for exits and stop loss hits
- Color-coded position background (green for long, blue for short)
- Clearly visible stop loss lines (red for hard stop, white for break-even)
- Comprehensive position information label with entry price and stop details
Implementation Notes:
The indicator tracks positions internally and maintains state across bars to properly manage stop levels. All calculations use confirmed bars only, with no repainting or lookahead bias. The system is designed for swing trading on timeframes from 1-hour and above, where Heikin Ashi patterns tend to be more reliable.
This indicator is best suited for traders looking to combine the pattern recognition strengths of Heikin Ashi candles with the trend-following capabilities of Supertrend, all while maintaining disciplined risk management through automated stops.
real_time_candlesIntroduction
The Real-Time Candles Library provides comprehensive tools for creating, manipulating, and visualizing custom timeframe candles in Pine Script. Unlike standard indicators that only update at bar close, this library enables real-time visualization of price action and indicators within the current bar, offering traders unprecedented insight into market dynamics as they unfold.
This library addresses a fundamental limitation in traditional technical analysis: the inability to see how indicators evolve between bar closes. By implementing sophisticated real-time data processing techniques, traders can now observe indicator movements, divergences, and trend changes as they develop, potentially identifying trading opportunities much earlier than with conventional approaches.
Key Features
The library supports two primary candle generation approaches:
Chart-Time Candles: Generate real-time OHLC data for any variable (like RSI, MACD, etc.) while maintaining synchronization with chart bars.
Custom Timeframe (CTF) Candles: Create candles with custom time intervals or tick counts completely independent of the chart's native timeframe.
Both approaches support traditional candlestick and Heikin-Ashi visualization styles, with options for moving average overlays to smooth the data.
Configuration Requirements
For optimal performance with this library:
Set max_bars_back = 5000 in your script settings
When using CTF drawing functions, set max_lines_count = 500, max_boxes_count = 500, and max_labels_count = 500
These settings ensure that you will be able to draw correctly and will avoid any runtime errors.
Usage Examples
Basic Chart-Time Candle Visualization
// Create real-time candles for RSI
float rsi = ta.rsi(close, 14)
Candle rsi_candle = candle_series(rsi, CandleType.candlestick)
// Plot the candles using Pine's built-in function
plotcandle(rsi_candle.Open, rsi_candle.High, rsi_candle.Low, rsi_candle.Close,
"RSI Candles", rsi_candle.candle_color, rsi_candle.candle_color)
Multiple Access Patterns
The library provides three ways to access candle data, accommodating different programming styles:
// 1. Array-based access for collection operations
Candle candles = candle_array(source)
// 2. Object-oriented access for single entity manipulation
Candle candle = candle_series(source)
float value = candle.source(Source.HLC3)
// 3. Tuple-based access for functional programming styles
= candle_tuple(source)
Custom Timeframe Examples
// Create 20-second candles with EMA overlay
plot_ctf_candles(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 20,
timezone = -5,
tied_open = true,
ema_period = 9,
enable_ema = true
)
// Create tick-based candles (new candle every 15 ticks)
plot_ctf_tick_candles(
source = close,
candle_type = CandleType.heikin_ashi,
number_of_ticks = 15,
timezone = -5,
tied_open = true
)
Advanced Usage with Custom Visualization
// Get custom timeframe candles without automatic plotting
CandleCTF my_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 30
)
// Apply custom logic to the candles
float ema_values = my_candles.ctf_ema(14)
// Draw candles and EMA using time-based coordinates
my_candles.draw_ctf_candles_time()
ema_values.draw_ctf_line_time(line_color = #FF6D00)
Library Components
Data Types
Candle: Structure representing chart-time candles with OHLC, polarity, and visualization properties
CandleCTF: Extended candle structure with additional time metadata for custom timeframes
TickData: Structure for individual price updates with time deltas
Enumerations
CandleType: Specifies visualization style (candlestick or Heikin-Ashi)
Source: Defines price components for calculations (Open, High, Low, Close, HL2, etc.)
SampleType: Sets sampling method (Time-based or Tick-based)
Core Functions
get_tick(): Captures current price as a tick data point
candle_array(): Creates an array of candles from price updates
candle_series(): Provides a single candle based on latest data
candle_tuple(): Returns OHLC values as a tuple
ctf_candles_array(): Creates custom timeframe candles without rendering
Visualization Functions
source(): Extracts specific price components from candles
candle_ctf_to_float(): Converts candle data to float arrays
ctf_ema(): Calculates exponential moving averages for candle arrays
draw_ctf_candles_time(): Renders candles using time coordinates
draw_ctf_candles_index(): Renders candles using bar index coordinates
draw_ctf_line_time(): Renders lines using time coordinates
draw_ctf_line_index(): Renders lines using bar index coordinates
Technical Implementation Notes
This library leverages Pine Script's varip variables for state management, creating a sophisticated real-time data processing system. The implementation includes:
Efficient tick capturing: Samples price at every execution, maintaining temporal tracking with time deltas
Smart state management: Uses a hybrid approach with mutable updates at index 0 and historical preservation at index 1+
Temporal synchronization: Manages two time domains (chart time and custom timeframe)
The tooltip implementation provides crucial temporal context for custom timeframe visualizations, allowing users to understand exactly when each candle formed regardless of chart timeframe.
Limitations
Custom timeframe candles cannot be backtested due to Pine Script's limitations with historical tick data
Real-time visualization is only available during live chart updates
Maximum history is constrained by Pine Script's array size limits
Applications
Indicator visualization: See how RSI, MACD, or other indicators evolve in real-time
Volume analysis: Create custom volume profiles independent of chart timeframe
Scalping strategies: Identify short-term patterns with precisely defined time windows
Volatility measurement: Track price movement characteristics within bars
Custom signal generation: Create entry/exit signals based on custom timeframe patterns
Conclusion
The Real-Time Candles Library bridges the gap between traditional technical analysis (based on discrete OHLC bars) and the continuous nature of market movement. By making indicators more responsive to real-time price action, it gives traders a significant edge in timing and decision-making, particularly in fast-moving markets where waiting for bar close could mean missing important opportunities.
Whether you're building custom indicators, researching price patterns, or developing trading strategies, this library provides the foundation for sophisticated real-time analysis in Pine Script.
Implementation Details & Advanced Guide
Core Implementation Concepts
The Real-Time Candles Library implements a sophisticated event-driven architecture within Pine Script's constraints. At its heart, the library creates what's essentially a reactive programming framework handling continuous data streams.
Tick Processing System
The foundation of the library is the get_tick() function, which captures price updates as they occur:
export get_tick(series float source = close, series float na_replace = na)=>
varip float price = na
varip int series_index = -1
varip int old_time = 0
varip int new_time = na
varip float time_delta = 0
// ...
This function:
Samples the current price
Calculates time elapsed since last update
Maintains a sequential index to track updates
The resulting TickData structure serves as the fundamental building block for all candle generation.
State Management Architecture
The library employs a sophisticated state management system using varip variables, which persist across executions within the same bar. This creates a hybrid programming paradigm that's different from standard Pine Script's bar-by-bar model.
For chart-time candles, the core state transition logic is:
// Real-time update of current candle
candle_data := Candle.new(Open, High, Low, Close, polarity, series_index, candle_color)
candles.set(0, candle_data)
// When a new bar starts, preserve the previous candle
if clear_state
candles.insert(1, candle_data)
price.clear()
// Reset state for new candle
Open := Close
price.push(Open)
series_index += 1
This pattern of updating index 0 in real-time while inserting completed candles at index 1 creates an elegant solution for maintaining both current state and historical data.
Custom Timeframe Implementation
The custom timeframe system manages its own time boundaries independent of chart bars:
bool clear_state = switch settings.sample_type
SampleType.Ticks => cumulative_series_idx >= settings.number_of_ticks
SampleType.Time => cumulative_time_delta >= settings.number_of_seconds
This dual-clock system synchronizes two time domains:
Pine's execution clock (bar-by-bar processing)
The custom timeframe clock (tick or time-based)
The library carefully handles temporal discontinuities, ensuring candle formation remains accurate despite irregular tick arrival or market gaps.
Advanced Usage Techniques
1. Creating Custom Indicators with Real-Time Candles
To develop indicators that process real-time data within the current bar:
// Get real-time candles for your data
Candle rsi_candles = candle_array(ta.rsi(close, 14))
// Calculate indicator values based on candle properties
float signal = ta.ema(rsi_candles.first().source(Source.Close), 9)
// Detect patterns that occur within the bar
bool divergence = close > close and rsi_candles.first().Close < rsi_candles.get(1).Close
2. Working with Custom Timeframes and Plotting
For maximum flexibility when visualizing custom timeframe data:
// Create custom timeframe candles
CandleCTF volume_candles = ctf_candles_array(
source = volume,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 60
)
// Convert specific candle properties to float arrays
float volume_closes = volume_candles.candle_ctf_to_float(Source.Close)
// Calculate derived values
float volume_ema = volume_candles.ctf_ema(14)
// Create custom visualization
volume_candles.draw_ctf_candles_time()
volume_ema.draw_ctf_line_time(line_color = color.orange)
3. Creating Hybrid Timeframe Analysis
One powerful application is comparing indicators across multiple timeframes:
// Standard chart timeframe RSI
float chart_rsi = ta.rsi(close, 14)
// Custom 5-second timeframe RSI
CandleCTF ctf_candles = ctf_candles_array(
source = close,
candle_type = CandleType.candlestick,
sample_type = SampleType.Time,
number_of_seconds = 5
)
float fast_rsi_array = ctf_candles.candle_ctf_to_float(Source.Close)
float fast_rsi = fast_rsi_array.first()
// Generate signals based on divergence between timeframes
bool entry_signal = chart_rsi < 30 and fast_rsi > fast_rsi_array.get(1)
Final Notes
This library represents an advanced implementation of real-time data processing within Pine Script's constraints. By creating a reactive programming framework for handling continuous data streams, it enables sophisticated analysis typically only available in dedicated trading platforms.
The design principles employed—including state management, temporal processing, and object-oriented architecture—can serve as patterns for other advanced Pine Script development beyond this specific application.
------------------------
Library "real_time_candles"
A comprehensive library for creating real-time candles with customizable timeframes and sampling methods.
Supports both chart-time and custom-time candles with options for candlestick and Heikin-Ashi visualization.
Allows for tick-based or time-based sampling with moving average overlay capabilities.
get_tick(source, na_replace)
Captures the current price as a tick data point
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
na_replace (float) : Optional - Value to use when source is na
Returns: TickData structure containing price, time since last update, and sequential index
candle_array(source, candle_type, sync_start, bullish_color, bearish_color)
Creates an array of candles based on price updates
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
sync_start (simple bool) : Optional - Whether to synchronize with the start of a new bar
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of Candle objects ordered with most recent at index 0
candle_series(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides a single candle based on the latest price data
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: A single Candle object representing the current state
candle_tuple(source, candle_type, wait_for_sync, bullish_color, bearish_color)
Provides candle data as a tuple of OHLC values
Parameters:
source (float) : Optional - Price source to sample (defaults to close)
candle_type (simple CandleType) : Optional - Type of candle chart to create (candlestick or Heikin-Ashi)
wait_for_sync (simple bool) : Optional - Whether to wait for a new bar before starting
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Tuple representing current candle values
method source(self, source, na_replace)
Extracts a specific price component from a Candle
Namespace types: Candle
Parameters:
self (Candle)
source (series Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
na_replace (float) : Optional - Value to use when source value is na
Returns: The requested price value from the candle
method source(self, source)
Extracts a specific price component from a CandleCTF
Namespace types: CandleCTF
Parameters:
self (CandleCTF)
source (simple Source) : Type of price data to extract (Open, High, Low, Close, or composite values)
Returns: The requested price value from the candle as a varip
method candle_ctf_to_float(self, source)
Converts a specific price component from each CandleCTF to a float array
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
Returns: Array of float values extracted from the candles, ordered with most recent at index 0
method ctf_ema(self, ema_period)
Calculates an Exponential Moving Average for a CandleCTF array
Namespace types: array
Parameters:
self (array)
ema_period (simple float) : Period for the EMA calculation
Returns: Array of float values representing the EMA of the candle data, ordered with most recent at index 0
method draw_ctf_candles_time(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar time coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using time-based x-coordinates
method draw_ctf_candles_index(self, sample_type, number_of_ticks, number_of_seconds, timezone)
Renders custom timeframe candles using bar index coordinates
Namespace types: array
Parameters:
self (array)
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks), used for tooltips
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks), used for tooltips
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time), used for tooltips
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12), used for tooltips
Returns: void - Renders candles on the chart using index-based x-coordinates
method draw_ctf_line_time(self, source, line_size, line_color)
Renders a line representing a price component from the candles using time coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_time(self, line_size, line_color)
Renders a line from a varip float array using time coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using time-based x-coordinates
method draw_ctf_line_index(self, source, line_size, line_color)
Renders a line representing a price component from the candles using index coordinates
Namespace types: array
Parameters:
self (array)
source (simple Source) : Optional - Type of price data to extract (defaults to Close)
line_size (simple int) : Optional - Width of the line
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
method draw_ctf_line_index(self, line_size, line_color)
Renders a line from a varip float array using index coordinates
Namespace types: array
Parameters:
self (array)
line_size (simple int) : Optional - Width of the line, defaults to 2
line_color (simple color) : Optional - Color of the line
Returns: void - Renders a connected line on the chart using index-based x-coordinates
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots tick-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_tick_candles(source, candle_type, number_of_ticks, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots tick-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_ticks (simple int) : Number of ticks per candle
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, line_width, ema_color, use_time_indexing)
Plots time-based candles with moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
ema_period (simple float) : Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with EMA overlay
plot_ctf_time_candles(source, candle_type, number_of_seconds, timezone, tied_open, bullish_color, bearish_color, use_time_indexing)
Plots time-based candles without moving average
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to display
number_of_seconds (simple float) : Time duration per candle in seconds
timezone (simple int) : Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart without moving average
plot_ctf_candles(source, candle_type, sample_type, number_of_ticks, number_of_seconds, timezone, tied_open, ema_period, bullish_color, bearish_color, enable_ema, line_width, ema_color, use_time_indexing)
Unified function for plotting candles with comprehensive options
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Optional - Type of candle chart to display
sample_type (simple SampleType) : Optional - Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
timezone (simple int) : Optional - Timezone offset from UTC (-12 to +12)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
ema_period (simple float) : Optional - Period for the exponential moving average
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
enable_ema (bool) : Optional - Whether to display the EMA overlay
line_width (simple int) : Optional - Width of the moving average line, defaults to 2
ema_color (color) : Optional - Color of the moving average line
use_time_indexing (simple bool) : Optional - When true the function will plot with xloc.time, when false it will plot using xloc.bar_index
Returns: void - Creates visual candle chart with optional EMA overlay
ctf_candles_array(source, candle_type, sample_type, number_of_ticks, number_of_seconds, tied_open, bullish_color, bearish_color)
Creates an array of custom timeframe candles without rendering them
Parameters:
source (float) : Input price source to sample
candle_type (simple CandleType) : Type of candle chart to create (candlestick or Heikin-Ashi)
sample_type (simple SampleType) : Method for sampling data (Time or Ticks)
number_of_ticks (simple int) : Optional - Number of ticks per candle (used when sample_type is Ticks)
number_of_seconds (simple float) : Optional - Time duration per candle in seconds (used when sample_type is Time)
tied_open (simple bool) : Optional - Whether to tie open price to close of previous candle
bullish_color (color) : Optional - Color for bullish candles
bearish_color (color) : Optional - Color for bearish candles
Returns: Array of CandleCTF objects ordered with most recent at index 0
Candle
Structure representing a complete candle with price data and display properties
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
candle_color (series color) : Color to use when rendering the candle
ready (series bool) : Boolean indicating if candle data is valid and ready for use
TickData
Structure for storing individual price updates
Fields:
price (series float) : The price value at this tick
time_delta (series float) : Time elapsed since the previous tick in milliseconds
series_index (series int) : Sequential index identifying this tick
CandleCTF
Structure representing a custom timeframe candle with additional time metadata
Fields:
Open (series float) : Opening price of the candle
High (series float) : Highest price of the candle
Low (series float) : Lowest price of the candle
Close (series float) : Closing price of the candle
polarity (series bool) : Boolean indicating if candle is bullish (true) or bearish (false)
series_index (series int) : Sequential index identifying the candle in the series
open_time (series int) : Timestamp marking when the candle was opened (in Unix time)
time_delta (series float) : Duration of the candle in milliseconds
candle_color (series color) : Color to use when rendering the candle
[3Commas] HA & MAHA & MA
🔷What it does: This tool is designed to test a trend-following strategy using Heikin Ashi candles and moving averages. It enters trades after pullbacks, aiming to let profits run once the risk-to-reward ratio reaches 1:1 while securing the position.
🔷Who is it for: It is ideal for traders looking to compare final results using fixed versus dynamic take profits by adjusting parameters and trade direction—a concept applicable to most trading strategies.
🔷How does it work: We use moving averages to define the market trend, then wait for opposite Heikin Ashi candles to form against it. Once these candles reverse in favor of the trend, we enter the trade, using the last swing created by the pullback as the stop loss. By applying the breakeven ratio, we protect the trade and let it run, using the slower moving average as a trailing stop.
A buy signal is generated when:
The previous candle is bearish (ha_bear ), indicating a pullback.
The fast moving average (ma1) is above the slow moving average (ma2), confirming an uptrend.
The current candle is bullish (ha_bull), showing trend continuation.
The Heikin Ashi close is above the fast moving average (ma1), reinforcing the bullish bias.
The real price close is above the open (close > open), ensuring bullish momentum in actual price data.
The signal is confirmed on the closed candle (barstate.isconfirmed) to avoid premature signals.
dir is undefined (na(dir)), preventing repeated signals in the same direction.
A sell signal is generated when:
The previous candle is bullish (ha_bull ), indicating a temporary upward move before a potential reversal.
The fast moving average (ma1) is below the slow moving average (ma2), confirming a downtrend.
The current candle is bearish (ha_bear), showing trend continuation to the downside.
The Heikin Ashi close is below the fast moving average (ma1), reinforcing bearish pressure.
The real price close is below the open (close < open), confirming bearish momentum in actual price data.
The signal is confirmed after the candle closes (barstate.isconfirmed), avoiding premature entries.
dir is undefined (na(dir)), preventing consecutive signals in the same direction.
In simple terms, this setup looks for trend continuation after a pullback, confirming entries with both Heikin Ashi and real price action, supported by moving average alignment to avoid false signals.
If the price reaches a 1:1 risk-to-reward ratio, the stop will be moved to the entry point. However, if the slow moving average surpasses this level, it will become the new exit point, acting as a trailing stop
🔷Why It’s Unique
Easily visualizes the benefits of using risk-to-reward ratios when trading instead of fixed percentages.
Provides a simple and straightforward approach to trading, embracing the "keep it simple" concept.
Offers clear visualization of DCA Bot entry and exit points based on user preferences.
Includes an option to review the message format before sending signals to bots, with compatibility for multi-pair and futures contract pairs.
🔷 Considerations Before Using the Indicator
⚠️Very important: The indicator must be used on charts with real price data, such as Japanese candlesticks, line charts, etc. Do not use it on Heikin Ashi charts, as this may lead to unrealistic results.
🔸Since this is a trend-following strategy, use it on timeframes above 4 hours, where market noise is reduced and trends are clearer. Also, carefully review the statistics before using it, focusing on pairs that tend to have long periods of well-defined trends.
🔸Disadvantages:
False Signals in Ranges: Consolidating markets can generate unreliable signals.
Lagging Indicator: Being based on moving averages, it may react late to sudden price movements.
🔸Advantages:
Trend Focused: Simplifies the identification of trending markets.
Noise Reduction: Uses Heikin Ashi candles to identify trend continuation after pullbacks.
Broad Applicability: Suitable for forex, crypto, stocks, and commodities.
🔸The strategy provides a systematic way to analyze markets but does not guarantee successful outcomes. Use it as an additional tool rather than relying solely on an automated system.
Trading results depend on various factors, including market conditions, trader discipline, and risk management. Past performance does not ensure future success, so always approach the market cautiously.
🔸Risk Management: Define stop-loss levels, position sizes, and profit targets before entering any trade. Be prepared for potential losses and ensure your approach aligns with your overall trading plan.
🔷 STRATEGY PROPERTIES
Symbol: BINANCE:BTCUSDT (Spot).
Timeframe: 4h.
Test Period: All historical data available.
Initial Capital: 10000 USDT.
Order Size per Trade: 1% of Capital, you can use a higher value e.g. 5%, be cautious that the Max Drawdown does not exceed 10%, as it would indicate a very risky trading approach.
Commission: Binance commission 0.1%, adjust according to the exchange being used, lower numbers will generate unrealistic results. By using low values e.g. 5%, it allows us to adapt over time and check the functioning of the strategy.
Slippage: 5 ticks, for pairs with low liquidity or very large orders, this number should be increased as the order may not be filled at the desired level.
Margin for Long and Short Positions: 100%.
Indicator Settings: Default Configuration.
MA1 Length: 9.
MA2 Length: 18.
MA Calculations: EMA.
Take Profit Ratio: Disable. Ratio 1:4.
Breakeven Ratio: Enable, Ratio 1:1.
Strategy: Long & Short.
🔷 STRATEGY RESULTS
⚠️Remember, past results do not guarantee future performance.
Net Profit: +324.88 USDT (+3.25%).
Max Drawdown: -81.18 USDT (-0.78%).
Total Closed Trades: 672.
Percent Profitable: 35.57%.
Profit Factor: 1.347.
Average Trade: +0.48 USDT (+0.48%).
Average # Bars in Trades: 13.
🔷 HOW TO USE
🔸 Adjust Settings:
The default values—MA1 (9) and MA2 (18) with EMA calculation—generally work well. However, you can increase these values, such as 20 and 40, to better identify stronger trends.
🔸 Choose a Symbol that Typically Trends:
Select an asset that tends to form clear trends. Keep in mind that the Strategy Tester results may show poor performance for certain assets, making them less suitable for sending signals to bots.
🔸 Experiment with Ratios:
Test different take profit and breakeven ratios to compare various scenarios—especially to observe how the strategy performs when only the trade is protected.
🔸This is an example of how protecting the trade works: once the price moves in favor of the position with a 1:1 risk-to-reward ratio, the stop loss is moved to the entry price. If the Slow MA surpasses this level, it will act as a trailing stop, aiming to follow the trend and maximize potential gains.
🔸In contrast, in this example, for the same trade, if we set a take profit at a 1:3 risk-to-reward ratio—which is generally considered a good risk-reward relationship—we can see how a significant portion of the upward move is left on the table.
🔸Results Review:
It is important to check the Max Drawdown. This value should ideally not exceed 10% of your capital. Consider adjusting the trade size to ensure this threshold is not surpassed.
Remember to include the correct values for commission and slippage according to the symbol and exchange where you are conducting the tests. Otherwise, the results will not be realistic.
If you are satisfied with the results, you may consider automating your trades. However, it is strongly recommended to use a small amount of capital or a demo account to test proper execution before committing real funds.
🔸Create alerts to trigger the DCA Bot:
Verify Messages: Ensure the message matches the one specified by the DCA Bot.
Multi-Pair Configuration: For multi-pair setups, enable the option to add the symbol in the correct format.
Signal Settings: Enable whether you want to receive long or short signals (Entry | TP | SL), copy and paste the the messages for the DCA Bots configured.
Alert Setup:
When creating an alert, set the condition to the indicator and choose "alert() function call only.
Enter any desired Alert Name.
Open the Notifications tab, enable Webhook URL, and paste the Webhook URL.
For more details, refer to the section: "How to use TradingView Custom Signals".
Finalize Alerts: Click Create, you're done! Alerts will now be sent automatically in the correct format.
🔷 INDICATOR SETTINGS
MA 1: Fast MA Length
MA 2: Slow MA Length
MA Calc: MA's Calculations (SMA,EMA, RMA,WMA)
TP Ratio: This is the take profit ratio relative to the stop loss, where the trade will be closed in profit.
BE Ratio: This is the breakeven ratio relative to the stop loss, where the stop loss will be updated to breakeven or if the MA2 is greater than this level.
Strategy: Order Type direction in which trades are executed.
Use Custom Test Period: When enabled signals only works in the selected time window. If disabled it will use all historical data available on the chart.
Test Start and End: Once the Custom Test Period is enabled, here you select the start and end date that you want to analyze.
Check Messages: Enable the table to review the messages to be sent to the bot.
Entry | TP | SL: Enable this options to send Buy Entry, Take Profit (TP), and Stop Loss (SL) signals.
Deal Entry and Deal Exit : Copy and paste the message for the deal start signal and close order at Market Price of the DCA Bot. This is the message that will be sent with the alert to the Bot, you must verify that it is the same as the bot so that it can process properly so that it executes and starts the trade.
DCA Bot Multi-Pair: You must activate it if you want to use the signals in a DCA Bot Multi-pair in the text box you must enter (using the correct format) the symbol in which you are creating the alert, you can check the format of each symbol when you create the bot.
👨🏻💻💭 We hope this tool helps enhance your trading. Your feedback is invaluable, so feel free to share any suggestions for improvements or new features you'd like to see implemented.
__
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.
MAC Investor V3.0 [VK]This indicator combines multiple functionalities to assist traders in making informed decisions. It primarily uses Heikin Ashi candles, Moving Averages, and a Price Action Channel (PAC) to provide signals for entering and exiting trades. Here's a detailed breakdown:
Inputs
MAC Length: Sets the length for the PAC calculation.
Use Heikin Ashi Candles: Option to use Heikin Ashi candles for calculations.
Show Coloured Bars around MAC: Option to color bars based on their relation to the PAC.
Show Long/Short Signals: Options to display long and short signals.
Show MAs? : Option to show moving averages on the chart.
Show MAs Trend at the Bottom?: Option to show trend signals at the bottom of the chart.
MA Lengths: Length settings for three different moving averages.
Change MA Color Based on Direction?: Option to change the color of moving averages based on trend direction.
MA Higher TimeFrame: Allows setting a higher timeframe for moving averages.
Show SL-TP Lines: Option to display Stop Loss and Take Profit lines.
SL/TP Percentages: Set the percentages for Stop Loss and three levels of Take Profit.
Calculations and Features
Heikin Ashi Candles: Calculations are based on Heikin Ashi candle data if selected.
Price Action Channel (PAC): Uses Exponential Moving Averages (EMA) of the high, low, and close to create a channel.
Bar Coloring: Colors the bars based on their position relative to the PAC.
Long and Short Signals: Uses crossovers of the close price and PAC upper/lower bands to generate signals.
Moving Averages (MA): Plots three moving averages and colors them based on their trend direction.
Overall Trend Indicators: Uses triangles at the bottom of the chart to show the overall trend of the MAs.
Stop Loss and Take Profit Levels: Calculates and plots these levels based on user-defined percentages from the entry price.
Alerts: Provides alerts for long and short signals.
Use Cases and How to Use
Identifying Trends: The PAC helps to identify the trend direction. If the closing price is above the PAC upper band, it suggests an uptrend; if below the lower band, it suggests a downtrend.
Entering Trades: Use the long and short signals to enter trades. A long signal is generated when the closing price crosses above the PAC upper band, and a short signal is generated when it crosses below the PAC lower band.
Exit Strategies: Utilize the Stop Loss (SL) and Take Profit (TP) levels to manage risk and lock in profits. These levels are automatically calculated based on the entry price and user-defined percentages.
Trend Confirmation with MAs: The moving averages provide additional confirmation of the trend. When all three MAs are trending in the same direction (e.g., all green for an uptrend), it adds confidence to the trade signal.
Overall Trend Indicators: The triangles at the bottom of the chart show the overall trend direction of the MAs:
Green Triangle: All three MAs are trending upwards, indicating a strong uptrend.
Red Triangle: All three MAs are trending downwards, indicating a strong downtrend.
Yellow Triangle: Mixed signals from the MAs, indicating no clear trend.
Bar Coloring for Quick Analysis: The colored bars give a quick visual cue about the market condition, aiding in faster decision-making.
Alerts: Set up alerts to get notified when a long or short signal is generated, allowing you to act promptly without constantly monitoring the chart.
Maximizing Profit
To maximize profit with this indicator:
Follow the Signals: Use the long and short signals to time your entries. Ensure you follow the trend indicated by the PAC and MAs.
Risk Management: Always set your Stop Loss and Take Profit levels to manage risk. This will help you cut losses early and secure profits.
Confirm with MAs: Look for confirmation from the moving averages. When all MAs align with the signal, it indicates a stronger trend.
Overall Trend Indicators: Pay attention to the triangles at the bottom for overall trend confirmation. Only enter trades when the overall trend is in your favor.
Heikin Ashi for Smoothing: Use Heikin Ashi candles for smoother trends and fewer false signals.
Backtesting: Test the indicator on historical data to understand its performance and adjust settings as necessary.
Adapt to Market Conditions: Adjust the lengths of PAC and MAs based on the market's volatility and timeframe you are trading on.
How to Use the Indicator
Add to Chart: Add the indicator to your TradingView chart.
Configure Settings: Customize the input settings to fit your trading strategy and timeframe.
Monitor Signals: Watch for long and short signals and observe the trend direction with the PAC and MAs.
Check Overall Trend: Look at the triangles at the bottom of the chart to see the overall trend direction of the MAs.
Set Alerts: Configure alerts to get notified of new signals.
Manage Trades: Use the SL and TP levels to manage your trades effectively.
HeikinAshi_Point (HA-P)Hello?
Traders, welcome.
If you "follow", you can always get new information quickly.
Please also click "Like".
Have a good day.
-------------------------------------
Following the previously published MACD-Total indicator, we are releasing the second indicator.
- index -
1. HA-P Indicator Description
2. Chart interpretation using HA-P indicators
3. More important than indicators is creating a trading strategy
(1. HA-P Indicator Description)
The Heikin Ashi candle chart is a very good way to see trends.
However, it is a pity that the actual price is not known on the chart made of Heikin Ashi candles.
To compensate for this, the body candle part (Open~Close) of the Heikin Ashi candle was filled with the background of the normal candle.
If you see more candles below the bottom of the body candle, you know the strength of the downtrend is high.
Conversely, if more candles are displayed above their body candles equivalent, you can tell that the bullish strength is high.
It can be seen that when the body candle color is displayed in blue, it is more likely to decline, and when it is in yellow, it is more likely to rise.
The Heikin Ashi candle is a trending candle.
Therefore, Heikin Ashi candles cannot be traded on their own.
To complement this, HA-Low and HA-High indicators were created.
The point where the HA-Low and HA-High indicators are leveled serves as support and resistance.
So, the longer the horizontal line, the stronger the support and resistance role.
A typical RSI is usually expressed as Close.
Since the Close of the Heikin Ashi candle is different from the normal Close, we made it to display when the RSI is oversold and overbought as the background of the price chart.
You cannot trade with the RSI indicator and the Heikin Ashi candle.
However, it can be used to detect a change in trend.
This gives you time to react to trend changes.
In order to trade, it is possible to find support and resistance at the HA-Low and HA-High indicators.
------------------------------------------------------------ ------
(2. Chart interpretation using HA-P indicator)
Let's interpret the BTCUSDT 1D chart using the HA-P indicator.
Primary resistance: around 21478.98
Secondary resistance: around 29380.57
It moved higher on the 4th of July, breaking out of the RSI oversold zone.
If it rises above the 19946.21 point and finds support, it is expected to lead to further upside.
However, it needs to rise above 21478.98 for support to lead to further upside.
---------------------------------
(3. More important than indicators is creating a trading strategy)
In order to trade using these indicators, you need to invest a lot of time and observe.
Whether you use an indicator or not, the most important thing in trading is whether you have many trading strategies.
No matter how good indicators and signals are, if you do not have a trading strategy, you will not be able to properly trade due to psychological pressure.
Therefore, it is most important to plan a trading strategy in advance before proceeding with a trade.
- How much money to invest
- How to set up a rough plan for buying in installments and selling in installments
- How to set the Stop Loss point
- How long will the investment be (short-term, medium-term, long-term, etc.)
Basically, the above thoughts must be concretely thought out before proceeding with the investment.
Otherwise, if you buy blindly when the price rises, there is a high possibility that you will end up incurring a loss due to psychological anxiety due to the volatility of the price.
----------------------------------
Traders Dynamic Index Indicator Alert v0.1 by JustUncleLThis is a trend trading indicator+alert utilising the Traders Dynamic Index (TDI), Price Action Channel (PAC) and Heikin Ashi candles.
About 6months ago I came across the use of TDI in "E.A.S.Y. Method" that I found in forexfactory forums: www.forexfactory.com
and I was able to set up a chart based on the specifications by using Kurbelklaus scripts. However, I found that the alerts were being generated one or two bars too late, so at that time I was not successful using it with Binary Options. A few months later I found a variation of the method in the forecfactory forums which is able to generate the alerts a bit earlier, so this indicator is a modification of that early detection version.
The indicator can optionally use Heikin Ashi candles only for all it's calculation. I would recommend viewing the chart with Heikin Ashi candles, these smooth out the trends and makes trends very clear.
I found that this method it works good with most currency pairs or commodities and with 5min+ timeframe charts. I would suggest expiry of 2 to 6 candles.
ALERT GENERATION:
=================
The TDI (Traders Dynamic Index)
---------------------------------------------
Volatility Band VB(34), color: Blue, buffer: UpZone, DnZone
Relative Strength Index RSI(13)
RSI PRICE LINE (2), color: Green, buffer: mab
RSI TRADE SIGNAL LINE (7), color: Red, buffer: mbb
MARKET BASE LINE MID VB(34), color: Orange, buffer: mid
Indicator SignalLevels:
-------------------------------
RSI_OversoldLevel : 22 (normally: 32)
RSI_OverboughtLevel : 78 (normally: 68)
Alert Conditions:
-----------------------
Strong Buy : yellow
Medium Buy : aqua
Weak Buy : blue
Strong Sell : fuchsia
Medium Sell : purple
Weak Sell : black
Hints on How to use:
----------------------------
- When a Medium or Strong alert is generated and MACD histogram colour matches the direction
of the alert (optional auto filter), then place trade in direction of alert candle and MACD.
- I use the multi-Hull MA's for overall trend direction confirmation.
- Best positions normally occur near the MACD(5,15,1) Histogram crossing the zero line.
- The optional coloured Dots along the bottom of the indicator represent the first alert
of this type that was generated in this sequence.
- It is advisable to trade in the direction of the main trend as indicated the HULL MA red cloud:
if red cloud underneath PAC then BULLISH trend, if red cloud above PAC then BEARISH trend.
- Selecting the HeiKin Ashi candles does affect the MACD and MA caculations, so if you select
normal candles the result chart will change. You can still Optionally select to use Heikin Ashi
for calculations.
- When using the Heikin Ashi candles, a good buy entry is indicated by long top wick and no bottom wick
for bull (green) candles and good sell entry is indicated by long bottom wick and no top wick for
bear (red) candles.
- When the MACD histogram is flat and close to zero line,
this indicates a ranging market, do NOT trade when this occurs.
- When the PAC channel on the main chart is spread apart widely, this is an indication
of extreme volatility and choppy chart, do NOT try to trade during these periods.
A choppy chart is also indicated by Heikin Ashi candles with long wicks on both sides
of the candles.
- You can specify what strength level Alerts are generated (default 2):
Level (1) means only generate Strong Alerts only.
Level (2) means generate Strong and Medium Alerts.
Level (3) means generate Strong, Medium and Weak Alerts.
Heikin RiderHeikin Rider
Smoothed Heikin Ashi Breakout Signals with Flow Confirmation
by Ben Deharde, 2025
Overview:
Heikin Rider is a trend-following indicator that detects clean breakout signals using a custom smoothed Heikin Ashi wave (the H-Wave) with optional confirmation from a flow-based filter. It's designed for traders who want precise, momentum-aligned entries.
What It Does:
Plots dynamic high/low bands from smoothed Heikin Ashi candles.
Triggers Buy/Sell signals on full candle breakouts above/below the wave.
Colors bars based on price position and momentum relative to a custom flow line.
Optionally filters signals based on flow direction.
How the H-Wave Works:
The H-Wave is a two-stage smoothed Heikin Ashi construction:
Pre-smoothing: Price is smoothed using a short-length MA (SMA, EMA, or HMA).
HA Calculation: Heikin Ashi values are calculated from the smoothed data.
Post-smoothing: A second, longer MA is applied to the HA values.
Wave Envelope: The high and low wicks of the final smoothed HA candles form the H-Wave envelope.
Signals are generated when price fully breaks this envelope, with optional confirmation from the flow color.
Inputs:
Trend timeframe
Pre/Post smoothing type and length
Flow MA type and length
Toggle for bar coloring and signal filtering
Notes:
Built with original logic, using the open-source TAExt library (credited).
No repainting — all signals are confirmed at close.
For use on standard candles only (not HA or Renko).
Alerts:
Long Signal (Buy)
Short Signal (Sell)
Compare Symbol [LuxmiAI]This indicator allows users to plot candles or bars for a selected symbol and add a moving average of their choice as an underlay. Users can customize the moving average type and length, making it versatile for a wide range of trading strategies.
This script is designed to offer flexibility, letting traders select the symbol, timeframe, candle style, and moving average type directly from the input options. The moving averages include the Exponential Moving Average (EMA), Simple Moving Average (SMA), Weighted Moving Average (WMA), and Volume-Weighted Moving Average (VWMA).
Features of the Script
This indicator provides the following key features:
1. Symbol Selection: Users can input the ticker symbol for which they want to plot the data.
2. Timeframe Selection: The script allows users to choose a timeframe for the symbol data.
3. Candle Styles: Users can select from three styles - regular candles, bars, or Heikin-Ashi candles.
4. Moving Average Options: Users can choose between EMA, SMA, WMA, and VWMA for added trend analysis.
5. Customizable Moving Average Length: The length of the moving average can be adjusted to suit individual trading strategies.
How the Script Works
The script starts by taking user inputs for the symbol and timeframe. It then retrieves the open, high, low, and close prices of the selected symbol and timeframe using the request.security function. Users can select between three candle styles: standard candles, bars, and Heikin-Ashi candles. If Heikin-Ashi candles are selected, the script calculates the Heikin-Ashi open, high, low, and close values.
To add further analysis capabilities, the script includes a moving average. Traders can select the moving average type from EMA, SMA, WMA, or VWMA and specify the desired length. The selected moving average is then plotted on the chart to provide a clear visualization of the trend.
Step-by-Step Implementation
1. Input Options: The script starts by taking inputs for the symbol, timeframe, candle style, moving average type, and length.
2. Data Retrieval: The script fetches OHLC data for the selected symbol and timeframe using request.security.
3. Candle Style Logic: It determines which candle style to plot based on the user’s selection. If Heikin-Ashi is selected, the script calculates Heikin-Ashi values.
4. Moving Average Calculation: Depending on the user’s choice, the script calculates the selected moving average.
5. Visualization: The script plots the candles or bars and overlays the moving average on the chart.
Benefits of Using This Indicator
This custom indicator provides multiple benefits for traders. It allows for quick comparisons between symbols and timeframes, helping traders identify trends and patterns. The flexibility to choose different candle styles and moving averages enhances its adaptability to various trading strategies. Additionally, the ability to customize the moving average length makes it suitable for both short-term and long-term analysis.
MTF Candle Multi HubMTF Candle Multi Hub Indicator - Guide 日本語解説は下記
Introduction
The "MTF Candle Multi Hub" indicator is a versatile and comprehensive tool designed to visualize multiple timeframes' candlestick data, Heikin Ashi candles, and moving averages on a single chart. This indicator also includes a Zigzag feature with the ability to draw horizontal lines at significant swing points, making it a powerful tool for technical analysis.
Key Features
Multi-Timeframe Candlestick Display:
The indicator allows you to display candlesticks from different timeframes, including 5-minute, 15-minute, 1-hour, 4-hour, daily, and weekly timeframes.
Each timeframe's candlestick can be toggled on or off using the settings panel.
Candlesticks are color-coded based on whether the close is higher or lower than the open, with customizable colors for bullish and bearish candles.
Heikin Ashi Candlesticks:
Heikin Ashi candlesticks are also available for 5-minute, 15-minute, 1-hour, 4-hour, daily, and weekly timeframes.
Like the standard candlesticks, these can be toggled on or off, and their colors are customizable.
Moving Averages (MA):
The indicator supports up to four different moving averages, which can be either Simple Moving Average (SMA) or Exponential Moving Average (EMA).
The user can toggle each moving average on or off and adjust the period and type from the settings panel.
An additional feature allows the space between two moving averages to be filled with a color, indicating the relative position of the MAs.
Zigzag Indicator with Horizontal Lines:
The Zigzag feature plots lines between significant swing highs and lows, helping identify trends and potential reversal points.
Two Zigzag lines can be configured, each with customizable swing length, line color, style, and width.
The indicator also offers the ability to draw horizontal lines at the start and end of each Zigzag swing. These horizontal lines can be customized in terms of color, style, width, and length.
The number of horizontal lines to be drawn can be set, allowing for focused analysis of the most recent swings.
Label and Comment Display:
The indicator provides the option to display custom labels and comments on the chart.
You can enter up to ten different comments, which will be displayed in a label at the last candlestick of the chart.
The label's position, background color, text color, and text size are fully customizable.
Trading Strategy
Trend Following with Multi-Timeframe Analysis:
Use the multi-timeframe candlestick and Heikin Ashi features to assess the trend across different timeframes. For example, if both the daily and 4-hour Heikin Ashi candles are bullish, it may indicate a strong uptrend.
Entry and Exit Signals:
Use the Zigzag indicator to identify potential entry points by looking for a new swing high or low.
Horizontal lines from the Zigzag can be used as support and resistance levels, helping to determine potential entry and exit points.
Moving Average Crossovers:
Monitor the crossovers of the moving averages. For example, when a shorter-term MA crosses above a longer-term MA, it may signal a potential buy opportunity.
Confluence of Signals:
The best trading opportunities may arise when multiple signals align. For example, a bullish Zigzag swing, supported by bullish Heikin Ashi candles and a moving average crossover, could provide a strong buy signal.
Disclaimer
For Educational Purposes Only: This indicator is provided for educational purposes and should not be used as the sole basis for any trading decisions.
No Guarantees: The indicator is provided "as is" without any guarantees of accuracy or completeness. Market conditions can change rapidly, and this indicator may not always reflect the most accurate market state.
Test Thoroughly: Bugs may exist in the script. It is highly recommended to test this script on a demo account before using it in live trading.
Use with Caution: Always use this indicator in conjunction with other analysis tools. Do not rely solely on this indicator for making trading decisions.
Sudden Changes or Removal: The indicator may be subject to sudden changes or removal without prior notice. The developer is not responsible for any issues this may cause.
By using this indicator, you agree to these terms.
MTF Candle Multi Hub インジケーター - ガイド
はじめに
「MTF Candle Multi Hub」インジケーターは、複数の時間枠のローソク足データ、平均足、移動平均線を1つのチャート上で視覚化するために設計された多用途かつ包括的なツールです。このインジケーターには、水平線を描画する機能を備えたジグザグ機能も含まれており、テクニカル分析において強力なツールとなります。
主な機能
マルチタイムフレームのローソク足表示:
5分足、15分足、1時間足、4時間足、日足、週足のローソク足を表示することができます。
各時間枠のローソク足は設定パネルでオンまたはオフに切り替えることができます。
ローソク足は、終値が始値より高いか低いかに基づいて色分けされており、強気と弱気のローソク足の色をカスタマイズできます。
平均足ローソク足:
5分足、15分足、1時間足、4時間足、日足、週足の平均足ローソク足を表示することができます。
標準のローソク足と同様に、これらをオンまたはオフに切り替え、色をカスタマイズすることが可能です。
移動平均線(MA):
このインジケーターは、単純移動平均線(SMA)または指数移動平均線(EMA)のいずれかを選択できる4つの移動平均線をサポートしています。
各移動平均線をオンまたはオフに切り替え、期間やタイプを設定パネルから調整できます。
また、2本の移動平均線の間に色を塗ることで、MAの相対的な位置を視覚的に表示する機能もあります。
ジグザグインジケーターと水平線:
ジグザグ機能は、重要なスイングの高値と安値の間に線を引き、トレンドや潜在的な反転ポイントを識別するのに役立ちます。
2本のジグザグラインを設定することができ、それぞれのスイングの長さ、線の色、スタイル、幅をカスタマイズできます。
また、ジグザグのスイングの始点と終点に水平線を描画する機能も提供されています。これらの水平線は、色、スタイル、幅、長さをカスタマイズできます。
描画する水平線の本数を設定でき、最新のスイングに焦点を当てた分析が可能です。
ラベルとコメントの表示:
インジケーターは、チャート上にカスタムラベルとコメントを表示するオプションを提供します。
最大10個の異なるコメントを入力することができ、これらはチャートの最新のローソク足にラベルとして表示されます。
ラベルの位置、背景色、テキストの色、テキストのサイズは完全にカスタマイズ可能です。
トレード戦略
マルチタイムフレーム分析を使用したトレンドフォロー:
マルチタイムフレームのローソク足や平均足の機能を使用して、異なる時間枠でのトレンドを評価します。例えば、日足と4時間足の平均足が共に強気であれば、強い上昇トレンドを示している可能性があります。
エントリーとエグジットシグナル:
ジグザグインジケーターを使用して、新たなスイング高値または安値を確認し、エントリーポイントを見極めます。
ジグザグの水平線をサポートおよびレジスタンスレベルとして使用し、エントリーやエグジットのタイミングを判断します。
移動平均線のクロスオーバー:
移動平均線のクロスオーバーを監視します。例えば、短期の移動平均線が長期の移動平均線を上抜けた場合、買いのシグナルとなる可能性があります。
シグナルのコンフルエンス:
複数のシグナルが一致する場合、最も良いトレード機会が生まれるかもしれません。例えば、強気のジグザグスイング、強気の平均足、移動平均線のクロスオーバーが揃うと、強力な買いシグナルとなる可能性があります。
免責事項
教育目的のみ: このインジケーターは教育目的で提供されており、トレードの決定を行う際の唯一の基準として使用すべきではありません。
保証なし: インジケーターは「現状のまま」提供されており、その正確性や完全性についての保証はありません。市場の状況は急速に変化する可能性があり、このインジケーターが常に最も正確な市場状況を反映するとは限りません。
十分なテストを: このスクリプトにはバグが存在する可能性があります。実際のトレードで使用する前に、デモ口座で十分にテストすることを強くお勧めします。
慎重に使用: このインジケーターを他の分析ツールと併用して使用してください。このインジケーターだけに頼ってトレードの決定を行うべきではありません。
突然の変更や削除の可能性: このインジケーターは予告なく変更や削除が行われる場合があります。そのため、利用者に不利益が生じる可能性がありますが、開発者はその責任を負いません。
このインジケーターを使用することで、これらの条件に同意したものとみなされます。
Bias Finder [UAlgo]The "Bias Finder " indicator is a tool designed to help traders identify market bias and trends effectively. This indicator leverages smoothed Heikin Ashi candles and oscillators to provide a clear visual representation of market trends and potential reversals. By utilizing higher timeframes and smoothing techniques, the indicator aims to filter out market noise and offer a more reliable signal for trading decisions.
🔶 Key Features
Heikin Ashi Candles: The indicator uses Heikin Ashi candles, a special type of candlestick that incorporates information from the previous candle to potentially provide smoother visuals and highlight potential trend direction.
Oscillator: The indicator calculates an oscillator based on the difference between the smoothed opening and closing prices of a higher timeframe. This oscillator helps visualize the strength of the bias.
Light Teal: Strong bullish trend.
Dark Teal: Weakening bullish trend.
Light Red: Strong bearish trend.
Dark Red: Weakening bearish trend.
Standard Deviation: The indicator can optionally display upper and lower standard deviation bands based on the Heikin Ashi high and low prices. These bands can help identify potential breakout areas.
Oscillator Period: Adjust the sensitivity of the oscillator.
Higher Timeframe: Select a timeframe for the Heikin Ashi candles and oscillator calculations (must be equal to or greater than the chart's timeframe).
Display Options: Choose whether to display Heikin Ashi candles, market bias fill, standard deviation bands, and HA candle colors based on the bias.
Alerts: Enable/disable specific alerts and customize their messages.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results.
Better Heiken-Ashi Candles w/ Expanded Source Types [Loxx]Better Heiken-Ashi Candles w/ Expanded Source Types is an indicator to compare regular candles to traditional Heiken-Ashi candles to "better" Heiken Ashi candles. This indicator and comparison study appears an oscillator. The purpose of this indicator is to demonstrate a better way to calculate HA candles and also to demonstrate expanded source types. This indicator is meant to be used by advanced Pine Coders who wish to add fine-tuning to their indicators and strategies.
What are Heiken Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following :
(Open+Close)/2+(((Close-Open)/(High-Low))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
What's going on with this indicator?
- First, we have the options to select the candlestick type: Regular, HA, HA Better
- Next, and to demonstrate the expanded source types, I've added a simple moving average. In the drop down for the SMA source you'll notice something very different from the typical TradingView source selector. Here's how to decode the new names for the sources:
Close = close
Open = open
High = high
Low = low
Median = hl2
Typical = hlc3
Weighted = hlcc4
Average = ohlc4
Average Median Body = (open+close)/2
Trend Biased = (see code, too complex to explain here)
Trend Biased (extreme) = (see code, too complex to explain here)
... for HA and HA better, see the same set up as above but with different open and close values to calcualate the other source types
- For the HA better calculations, we run the close value through either an Adaptive, Kaufman, or T3 smoothing filter. The length for these smoothing filters, either 2 or 3, can be found in the code and is a constant value that shouldn't be changed. This smoothing is in inline with what is described in the article mentioned above
- Lastly, I've placed an SMA over the oscillator so that the user can test out the various sources explained above
Included:
- Toggle on/off bar coloring
Moving Average Filters Add-on w/ Expanded Source Types [Loxx]Moving Average Filters Add-on w/ Expanded Source Types is a conglomeration of specialized and traditional moving averages that will be used in most of indicators that I publish moving forward. There are 39 moving averages included in this indicator as well as expanded source types including traditional Heiken Ashi and Better Heiken Ashi candles. You can read about the expanded source types clicking here . About half of these moving averages are closed source on other trading platforms. This indicator serves as a reference point for future public/private, open/closed source indicators that I publish to TradingView. Information about these moving averages was gleaned from various forex and trading forums and platforms as well as TASC publications and other assorted research publications.
________________________________________________________________
Included moving averages
ADXvma - Average Directional Volatility Moving Average
Linnsoft's ADXvma formula is a volatility-based moving average, with the volatility being determined by the value of the ADX indicator.
The ADXvma has the SMA in Chande's CMO replaced with an EMA, it then uses a few more layers of EMA smoothing before the "Volatility Index" is calculated.
A side effect is, those additional layers slow down the ADXvma when you compare it to Chande's Variable Index Dynamic Average VIDYA.
The ADXVMA provides support during uptrends and resistance during downtrends and will stay flat for longer, but will create some of the most accurate market signals when it decides to move.
Ahrens Moving Average
Richard D. Ahrens's Moving Average promises "Smoother Data" that isn't influenced by the occasional price spike. It works by using the Open and the Close in his formula so that the only time the Ahrens Moving Average will change is when the candlestick is either making new highs or new lows.
Alexander Moving Average - ALXMA
This Moving Average uses an elaborate smoothing formula and utilizes a 7 period Moving Average. It corresponds to fitting a second-order polynomial to seven consecutive observations. This moving average is rarely used in trading but is interesting as this Moving Average has been applied to diffusion indexes that tend to be very volatile.
Double Exponential Moving Average - DEMA
The Double Exponential Moving Average (DEMA) combines a smoothed EMA and a single EMA to provide a low-lag indicator. It's primary purpose is to reduce the amount of "lagging entry" opportunities, and like all Moving Averages, the DEMA confirms uptrends whenever price crosses on top of it and closes above it, and confirms downtrends when the price crosses under it and closes below it - but with significantly less lag.
Double Smoothed Exponential Moving Average - DSEMA
The Double Smoothed Exponential Moving Average is a lot less laggy compared to a traditional EMA. It's also considered a leading indicator compared to the EMA, and is best utilized whenever smoothness and speed of reaction to market changes are required.
Exponential Moving Average - EMA
The EMA places more significance on recent data points and moves closer to price than the SMA (Simple Moving Average). It reacts faster to volatility due to its emphasis on recent data and is known for its ability to give greater weight to recent and more relevant data. The EMA is therefore seen as an enhancement over the SMA.
Fast Exponential Moving Average - FEMA
An Exponential Moving Average with a short look-back period.
Fractal Adaptive Moving Average - FRAMA
The Fractal Adaptive Moving Average by John Ehlers is an intelligent adaptive Moving Average which takes the importance of price changes into account and follows price closely enough to display significant moves whilst remaining flat if price ranges. The FRAMA does this by dynamically adjusting the look-back period based on the market's fractal geometry.
Hull Moving Average - HMA
Alan Hull's HMA makes use of weighted moving averages to prioritize recent values and greatly reduce lag whilst maintaining the smoothness of a traditional Moving Average. For this reason, it's seen as a well-suited Moving Average for identifying entry points.
IE/2 - Early T3 by Tim Tilson
The IE/2 is a Moving Average that uses Linear Regression slope in its calculation to help with smoothing. It's a worthy Moving Average on it's own, even though it is the precursor and very early version of the famous "T3 Indicator".
Integral of Linear Regression Slope - ILRS
A Moving Average where the slope of a linear regression line is simply integrated as it is fitted in a moving window of length N (natural numbers in maths) across the data. The derivative of ILRS is the linear regression slope. ILRS is not the same as a SMA (Simple Moving Average) of length N, which is actually the midpoint of the linear regression line as it moves across the data.
Instantaneous Trendline
The Instantaneous Trendline is created by removing the dominant cycle component from the price information which makes this Moving Average suitable for medium to long-term trading.
Laguerre Filter
The Laguerre Filter is a smoothing filter which is based on Laguerre polynomials. The filter requires the current price, three prior prices, a user defined factor called Alpha to fill its calculation.
Adjusting the Alpha coefficient is used to increase or decrease its lag and it's smoothness.
Leader Exponential Moving Average
The Leader EMA was created by Giorgos E. Siligardos who created a Moving Average which was able to eliminate lag altogether whilst maintaining some smoothness. It was first described during his research paper "MACD Leader" where he applied this to the MACD to improve its signals and remove its lagging issue. This filter uses his leading MACD's "modified EMA" and can be used as a zero lag filter.
Linear Regression Value - LSMA (Least Squares Moving Average)
LSMA as a Moving Average is based on plotting the end point of the linear regression line. It compares the current value to the prior value and a determination is made of a possible trend, eg. the linear regression line is pointing up or down.
Linear Weighted Moving Average - LWMA
LWMA reacts to price quicker than the SMA and EMA. Although it's similar to the Simple Moving Average, the difference is that a weight coefficient is multiplied to the price which means the most recent price has the highest weighting, and each prior price has progressively less weight. The weights drop in a linear fashion.
McGinley Dynamic
John McGinley created this Moving Average to track price better than traditional Moving Averages. It does this by incorporating an automatic adjustment factor into its formula, which speeds (or slows) the indicator in trending, or ranging, markets.
McNicholl EMA
Dennis McNicholl developed this Moving Average to use as his center line for his "Better Bollinger Bands" indicator and was successful because it responded better to volatility changes over the standard SMA and managed to avoid common whipsaws.
Non lag moving average
The Non Lag Moving average follows price closely and gives very quick signals as well as early signals of price change. As a standalone Moving Average, it should not be used on its own, but as an additional confluence tool for early signals.
Parabolic Weighted Moving Average
The Parabolic Weighted Moving Average is a variation of the Linear Weighted Moving Average. The Linear Weighted Moving Average calculates the average by assigning different weight to each element in its calculation. The Parabolic Weighted Moving Average is a variation that allows weights to be changed to form a parabolic curve. It is done simply by using the Power parameter of this indicator.
Recursive Moving Trendline
Dennis Meyers's Recursive Moving Trendline uses a recursive (repeated application of a rule) polynomial fit, a technique that uses a small number of past values estimations of price and today's price to predict tomorrows price.
Simple Moving Average - SMA
The SMA calculates the average of a range of prices by adding recent prices and then dividing that figure by the number of time periods in the calculation average. It is the most basic Moving Average which is seen as a reliable tool for starting off with Moving Average studies. As reliable as it may be, the basic moving average will work better when it's enhanced into an EMA.
Sine Weighted Moving Average
The Sine Weighted Moving Average assigns the most weight at the middle of the data set. It does this by weighting from the first half of a Sine Wave Cycle and the most weighting is given to the data in the middle of that data set. The Sine WMA closely resembles the TMA (Triangular Moving Average).
Smoothed Moving Average - SMMA
The Smoothed Moving Average is similar to the Simple Moving Average (SMA), but aims to reduce noise rather than reduce lag. SMMA takes all prices into account and uses a long lookback period. Due to this, it's seen a an accurate yet laggy Moving Average.
Smoother
The Smoother filter is a faster-reacting smoothing technique which generates considerably less lag than the SMMA (Smoothed Moving Average). It gives earlier signals but can also create false signals due to its earlier reactions. This filter is sometimes wrongly mistaken for the superior Jurik Smoothing algorithm.
Super Smoother
The Super Smoother filter uses John Ehlers’s “Super Smoother” which consists of a a Two pole Butterworth filter combined with a 2-bar SMA (Simple Moving Average) that suppresses the 22050 Hz Nyquist frequency: A characteristic of a sampler, which converts a continuous function or signal into a discrete sequence.
Three pole Ehlers Butterworth
The 3 pole Ehlers Butterworth (as well as the Two pole Butterworth) are both superior alternatives to the EMA and SMA. They aim at producing less lag whilst maintaining accuracy. The 2 pole filter will give you a better approximation for price, whereas the 3 pole filter has superior smoothing.
Three pole Ehlers smoother
The 3 pole Ehlers smoother works almost as close to price as the above mentioned 3 Pole Ehlers Butterworth. It acts as a strong baseline for signals but removes some noise. Side by side, it hardly differs from the Three Pole Ehlers Butterworth but when examined closely, it has better overshoot reduction compared to the 3 pole Ehlers Butterworth.
Triangular Moving Average - TMA
The TMA is similar to the EMA but uses a different weighting scheme. Exponential and weighted Moving Averages will assign weight to the most recent price data. Simple moving averages will assign the weight equally across all the price data. With a TMA (Triangular Moving Average), it is double smoother (averaged twice) so the majority of the weight is assigned to the middle portion of the data.
The TMA and Sine Weighted Moving Average Filter are almost identical at times.
Triple Exponential Moving Average - TEMA
The TEMA uses multiple EMA calculations as well as subtracting lag to create a tool which can be used for scalping pullbacks. As it follows price closely, it's signals are considered very noisy and should only be used in extremely fast-paced trading conditions.
Two pole Ehlers Butterworth
The 2 pole Ehlers Butterworth (as well as the three pole Butterworth mentioned above) is another filter that cuts out the noise and follows the price closely. The 2 pole is seen as a faster, leading filter over the 3 pole and follows price a bit more closely. Analysts will utilize both a 2 pole and a 3 pole Butterworth on the same chart using the same period, but having both on chart allows its crosses to be traded.
Two pole Ehlers smoother
A smoother version of the Two pole Ehlers Butterworth. This filter is the faster version out of the 3 pole Ehlers Butterworth. It does a decent job at cutting out market noise whilst emphasizing a closer following to price over the 3 pole Ehlers.
Volume Weighted EMA - VEMA
Utilizing tick volume in MT4 (or real volume in MT5), this EMA will use the Volume reading in its decision to plot its moves. The more Volume it detects on a move, the more authority (confirmation) it has. And this EMA uses those Volume readings to plot its movements.
Studies show that tick volume and real volume have a very strong correlation, so using this filter in MT4 or MT5 produces very similar results and readings.
Zero Lag DEMA - Zero Lag Double Exponential Moving Average
John Ehlers's Zero Lag DEMA's aim is to eliminate the inherent lag associated with all trend following indicators which average a price over time. Because this is a Double Exponential Moving Average with Zero Lag, it has a tendency to overshoot and create a lot of false signals for swing trading. It can however be used for quick scalping or as a secondary indicator for confluence.
Zero Lag Moving Average
The Zero Lag Moving Average is described by its creator, John Ehlers, as a Moving Average with absolutely no delay. And it's for this reason that this filter will cause a lot of abrupt signals which will not be ideal for medium to long-term traders. This filter is designed to follow price as close as possible whilst de-lagging data instead of basing it on regular data. The way this is done is by attempting to remove the cumulative effect of the Moving Average.
Zero Lag TEMA - Zero Lag Triple Exponential Moving Average
Just like the Zero Lag DEMA, this filter will give you the fastest signals out of all the Zero Lag Moving Averages. This is useful for scalping but dangerous for medium to long-term traders, especially during market Volatility and news events. Having no lag, this filter also has no smoothing in its signals and can cause some very bizarre behavior when applied to certain indicators.
________________________________________________________________
What are Heiken Ashi "better" candles?
The "better formula" was proposed in an article/memo by BNP-Paribas (In Warrants & Zertifikate, No. 8, August 2004 (a monthly German magazine published by BNP Paribas, Frankfurt), there is an article by Sebastian Schmidt about further development (smoothing) of Heikin-Ashi chart.)
They proposed to use the following:
(Open+Close)/2+(((Close-Open)/( High-Low ))*ABS((Close-Open)/2))
instead of using :
haClose = (O+H+L+C)/4
According to that document the HA representation using their proposed formula is better than the traditional formula.
What are traditional Heiken-Ashi candles?
The Heikin-Ashi technique averages price data to create a Japanese candlestick chart that filters out market noise.
Heikin-Ashi charts, developed by Munehisa Homma in the 1700s, share some characteristics with standard candlestick charts but differ based on the values used to create each candle. Instead of using the open, high, low, and close like standard candlestick charts, the Heikin-Ashi technique uses a modified formula based on two-period averages. This gives the chart a smoother appearance, making it easier to spots trends and reversals, but also obscures gaps and some price data.
Expanded generic source types:
Close = close
Open = open
High = high
Low = low
Median = hl2
Typical = hlc3
Weighted = hlcc4
Average = ohlc4
Average Median Body = (open+close)/2
Trend Biased = (see code, too complex to explain here)
Trend Biased (extreme) = (see code, too complex to explain here)
Included:
-Toggle bar color on/off
-Toggle signal line on/off
Mutanabby_AI | ATR+ | Trend-Following StrategyThis document presents the Mutanabby_AI | ATR+ Pine Script strategy, a systematic approach designed for trend identification and risk-managed position entry in financial markets. The strategy is engineered for long-only positions and integrates volatility-adjusted components to enhance signal robustness and trade management.
Strategic Design and Methodological Basis
The Mutanabby_AI | ATR+ strategy is constructed upon a foundation of established technical analysis principles, with a focus on objective signal generation and realistic trade execution.
Heikin Ashi for Trend Filtering: The core price data is processed via Heikin Ashi (HA) methodology to mitigate transient market noise and accentuate underlying trend direction. The script offers three distinct HA calculation modes, allowing for comparative analysis and validation:
Manual Calculation: Provides a transparent and deterministic computation of HA values.
ticker.heikinashi(): Utilizes TradingView's built-in function, employing confirmed historical bars to prevent repainting artifacts.
Regular Candles: Allows for direct comparison with standard OHLC price action.
This multi-methodological approach to trend smoothing is critical for robust signal generation.
Adaptive ATR Trailing Stop: A key component is the Average True Range (ATR)-based trailing stop. ATR serves as a dynamic measure of market volatility. The strategy incorporates user-defined parameters (
Key Value and ATR Period) to calibrate the sensitivity of this trailing stop, enabling adaptation to varying market volatility regimes. This mechanism is designed to provide a dynamic exit point, preserving capital and locking in gains as a trend progresses.
EMA Crossover for Signal Generation: Entry and exit signals are derived from the interaction between the Heikin Ashi derived price source and an Exponential Moving Average (EMA). A crossover event between these two components is utilized to objectively identify shifts in momentum, signaling potential long entry or exit points.
Rigorous Stop Loss Implementation: A critical feature for risk mitigation, the strategy includes an optional stop loss. This stop loss can be configured as a percentage or fixed point deviation from the entry price. Importantly, stop loss execution is based on real market prices, not the synthetic Heikin Ashi values. This design choice ensures that risk management is grounded in actual market liquidity and price levels, providing a more accurate representation of potential drawdowns during backtesting and live operation.
Backtesting Protocol: The strategy is configured for realistic backtesting, employing fill_orders_on_standard_ohlc=true to simulate order execution at standard OHLC prices. A configurable Date Filter is included to define specific historical periods for performance evaluation.
Data Visualization and Metrics: The script provides on-chart visual overlays for buy/sell signals, the ATR trailing stop, and the stop loss level. An integrated information table displays real-time strategy parameters, current position status, trend direction, and key price levels, facilitating immediate quantitative assessment.
Applicability
The Mutanabby_AI | ATR+ strategy is particularly suited for:
Cryptocurrency Markets: The inherent volatility of assets such as #Bitcoin and #Ethereum makes the ATR-based trailing stop a relevant tool for dynamic risk management.
Systematic Trend Following: Individuals employing systematic methodologies for trend capture will find the objective signal generation and rule-based execution aligned with their approach.
Pine Script Developers and Quants: The transparent code structure and emphasis on realistic backtesting provide a valuable framework for further analysis, modification, and integration into broader quantitative models.
Automated Trading Systems: The clear, deterministic entry and exit conditions facilitate integration into automated trading environments.
Implementation and Evaluation
To evaluate the Mutanabby_AI | ATR+ strategy, apply the script to your chosen chart on TradingView. Adjust the input parameters (Key Value, ATR Period, Heikin Ashi Method, Stop Loss Settings) to observe performance across various asset classes and timeframes. Comprehensive backtesting is recommended to assess the strategy's historical performance characteristics, including profitability, drawdown, and risk-adjusted returns.
I'd love to hear your thoughts, feedback, and any optimizations you discover! Drop a comment below, give it a like if you find it useful, and share your results.
Kairi Trend Oscillator [T3][T69]📌 Overview
The Kairi Trend Oscillator is a Japanese-inspired hybrid oscillator combining Heikin-Ashi trend clarity with the Kairi (乖離率) indicator — a measure of price deviation from a moving average. This dual-layer system gives you both trend direction and trend strength/health, designed to highlight trend maturity and avoid overextended entries.
✨ Features
Heikin-Ashi or normal candlestick input modes
Multiple moving average options: SMA, EMA, DEMA, VWMA, and Kijun
Visual color-coded trend zones: overbought, oversold, healthy, weak, and reversal conditions
Full Kairi column plot with dynamic coloring
Adaptive logic for trend detection (linear regression or Heikin-Ashi structure)
Built-in reversal detection based on divergence between Kairi and trend direction
⚙️ How to Use
Choose Candle Type: Select Heiken Ashi or Normal Candlesticks via the Candle Mode dropdown.
Select Source: Choose open, high, low, or close as the input for Kairi computation.
Set MA Type & Length: Configure the moving average mode and its length under Moving Average Settings.
Interpret the Plot:
Green/Red bars: Show Kairi oscillator values above/below 0
Background color: Shows current trend (green = uptrend, red = downtrend)
Candle color overlays:
🟩 Teal = Overextended Bulls
🟥 Maroon = Overextended Bears
✅ Green = Healthy Uptrend
🔻 Red = Healthy Downtrend
🟨 Light tones = Weak trends
🔄 Blue/Fuchsia = Possible reversal detected
🔧 Configuration
Inputs:
Candle Mode: Heiken Ashi or Normal Candle Sticks
Source: Open, High, Low, Close
MA Mode: SMA, EMA, DEMA, VWMA, or Kijun
MA Length: Default is 29
🧪 Advanced Tips
Use Heikin-Ashi mode for better trend smoothing.
Kairi divergence (e.g., bullish Kairi in a downtrend) may signal upcoming reversal — watch for blue or fuchsia bars.
Combine with momentum indicators (e.g. RSI or MACD) for confluence-based setups.
For mean reversion strategies, fade extreme Kairi readings (> ±5%).
⚠️ Limitations
Not suited for ranging markets without trend.
Kairi extremes may remain elevated in strong trends — avoid early counter-trend entries.
Reversal logic is not a confirmation signal; use with caution.
📌 Disclaimer
This script is educational and illustrative. Always backtest thoroughly before using in live markets.
RSI_Heikinashi📜 Title:
Heikin-Ashi RSI Candle Plot with Multi-Timeframe Analysis and EMA Overlay
📖 Full Description:
This is an original custom indicator that transforms the traditional Relative Strength Index (RSI) into a Heikin-Ashi (HA) candle representation, allowing traders to visualize RSI trends with greater clarity, less noise, and multi-timeframe perspective.
🛠️ Core Concept and Original Method:
Rather than plotting a single RSI line, this script recalculates RSI into a Heikin-Ashi candle format, using a double EMA smoothing method on the RSI data itself.
Here's how the transformation works:
RSI Calculation:
RSI is computed traditionally using Wilder's Moving Average (RMA) for smoothing gains and losses.
The RSI period and price source are fully customizable (default length = 28, source = close).
Heikin-Ashi Style Smoothing (applied to RSI):
The HA Close is calculated as the EMA of the average between the current RSI and previous HA Close.
The HA Open is calculated as the EMA of the average between the previous HA Open and the current HA Close.
The HA High and HA Low are dynamically calculated based on the maximum/minimum values of the current RSI, HA Open, and HA Close.
Smoothing is done via 5-period EMA, which adds a unique layer of trend smoothing without traditional price-based HA calculation.
Multi-Timeframe Comparison:
In addition to plotting the chart timeframe HA RSI, the indicator retrieves the 1-hour timeframe HA RSI using request.security.
This allows traders to align trades with higher timeframe RSI trends, a powerful technique for multi-timeframe confirmation.
50 EMA Overlay:
A 50-period Exponential Moving Average (EMA) is plotted over both the chart timeframe HA RSI and the 1-hour HA RSI.
EMA acts as a trend filter or dynamic support/resistance for RSI behavior.
RSI Bands and Visual Aids:
Standard RSI bands at 70 (Overbought), 50 (Midline), and 30 (Oversold) are plotted.
A shaded background between the 30–70 levels helps highlight RSI range-bound movements versus breakout momentum.
🔥 Why this script is original and useful:
Unique Application:
This is not a simple RSI plot or standard Heikin-Ashi candle — it is a specialized smoothing method applied directly to RSI values for a clearer, noise-reduced momentum reading.
Multi-Timeframe Advantage:
Unlike typical RSI indicators, it includes a 1-hour timeframe comparison alongside the chart timeframe, improving decision-making across intraday and swing strategies.
Advanced Smoothing Logic:
Double EMA smoothing of RSI and HA-style recalculations offer a much smoother signal than traditional RSI or basic RSI/EMA crossovers.
Visualized Trend Strength:
Using colored candles instead of just a line enhances readability and gives an intuitive sense of momentum direction, strength, and possible reversals.
Fully Customizable:
Traders can adjust the RSI period and source depending on asset volatility or timeframe preferences.
📋 How to Use:
Look for HA RSI candles color changes for early momentum shifts.
Use the 50 EMA crossovers on HA RSI to confirm larger trend changes.
Compare chart timeframe vs 1H timeframe HA RSI for stronger signal alignment.
Watch for overbought/oversold breaks beyond the 70/30 bands for trade entries or exits.
⚙️ Inputs:
RSI Length (Default: 28)
RSI Source (Default: Close)
📢 Important Note:
This script is originally conceptualized and custom-built.
It is not a mashup of existing open-source indicators and introduces a new smoothing technique for RSI visualization.
🙏 Credits:
Script developed by Sri_RSI.